With the increasing bandwidth and connectivity associated with the Internet (or World Wide Web), electronic business or “e-business” (i.e., conducting business through the Internet) has become more and more popular. Many traditional services have been transformed or converted to Web-based services. E-business has not only become a cost effective solution for many traditional businesses, but it also creates new business opportunities. A variety of e-businesses now exist, ranging from, for example, on-line shopping, on-line auction, on-line reservation, on-line banking and on-line trading to customer relation management, personnel management, etc. E-business has become such a critical component of many companies that guaranteeing performance and availability has become essential.
Thus, the design and development of e-business infrastructure should meet a twofold challenge. On one hand, it must meet customer expectations in terms of quality of service (QoS). On the other hand, companies have to control information technology (IT) costs to stay competitive. It is therefore crucial to understand the tradeoff between costs and service levels so as to enable the determination of the most cost-effective architecture and system.
One of the most common architectures of e-business infrastructures is the multi-tier architecture, where requests are served by the system through different tiers of servers, from the front-end to the back-end, without necessarily going through all the tiers. Although architecturally simple, the system is quite complex and large in general, with multiple tiers of servers, each of which can have many components. A typical e-business system is comprised of hundreds of nodes with tens of applications running on them. Given the great complexity of the overall system, IT planners are constantly puzzled with questions regarding: how many servers to place at each tier in the current infrastructure; what layout can deliver the best QoS; is there enough capacity available to support the expected business opportunities and future growth.
Another important characteristic of today's e-business environment is the diversity of services that one system can support. Multiple classes of services are commonly provided to multiple clients, all of which are time-sharing and competing for the same set of resources. The service provider has contracts to each individual client and agrees to guarantee a certain level of QoS for each class of service.
Existing approaches for determining resource allocation to deliver end-to-end performance are quite limited. Most of these existing approaches have focused on a single tier and addressed either scheduling or load balancing issues.
Thus, a need exists for techniques that determine a capacity allocation in a multi-tiered system with multiple classes of services so as to minimize the infrastructure cost while satisfying the end-to-end performance guarantees.